package route

const (
	Register   = 1   // 用户注册
	Login      = 2   // 用户登录
	CodeInvite = 3   // 邀请码
	Verify     = 4   // 实名认证
	Quick      = 999 // 测试用
)

// 邮件消息
const (
	RewardMail    = 101 // 邮件奖励
	FetchMailList = 102 // 拉取邮件列表
	ReadMail      = 103 // 读取邮件
	ReadAllMail   = 104 // 一键读取所有邮件
	DeleteMail    = 105 // 删除邮件
	DeleteAllMail = 106 // 删除所有邮件
)

// 大厅路由
const (
	ServerTime = 1000 //获取服务器时间

	FetchRooms     = 1100 // 拉取房间
	MatchJoin      = 1101 // 报名比赛
	MatchQuit      = 1102 // 退出比赛
	MatchRelive    = 1103 // 复活比赛
	GameRankList   = 1104 // 大厅排行榜
	BeanJoin       = 1105 // 进入金币场
	BeanQuit       = 1106 // 离开金币场
	TryReconnect   = 1107 // 尝试重连比赛
	FriendRankList = 1108 // 好友排行
	UserInfo       = 1109 // 获取用户信息
	Sharing        = 1110 // 游戏分享
	GameNews       = 1111 // 游戏资讯
	OptsNews       = 1112 // 资讯操作
	RedeemCode     = 1113 // 使用兑换码
	ScanCode       = 1114 // 扫码相关

	VipDailyReward = 1115 // 领取vip奖励
	VipLifeReward  = 1116 // 领取vip奖励

	GetRankList       = 1117 // 大厅排行榜
	GetUserSelfRank   = 1118 // 获取自己的排名
	GetUserYearScore  = 1119 // 获取自己的年度积分
	UpdateNickname    = 1120 // 用户修改昵称
	UpdateAvatar      = 1121 // 用户修改头像
	GiveLike          = 1122 // 点赞用户
	VerifyIdCard      = 1123 // 实名认证
	UseItem           = 1124 // 使用道具
	NewsSubScript     = 1125 // 赛事咨询入口按钮角标
	UserLocation      = 1126 // 用户定位信息
	DelayJoin         = 1127 // 延迟报名
	DelayQuit         = 1128 // 取消报名
	GuideUpdate       = 1129 //更新引导信息
	ScanCodeBegin     = 1130 // 扫码前获取验证
	GoldJoin          = 1131 // 进入金币场
	GoldQuit          = 1132 // 离开金币场
	GoldGetCurDiamond = 1133 //获取当前的钻石

	// 充值路由
	ChargeOrderCreate     = 1201 // 创建新的充值
	ChargeOrderCancel     = 1202 // 取消充值
	WechatMidasPay        = 1203 // 微信midas支付
	WechatMidasOutTradeNo = 1204 // 微信midas订单号
	WechatMidasBalance    = 1205 // 微信midas余额

	// 配置相关
	ConfigItem       = 1301 // 道具配置
	ConfigShop       = 1302 // 商城配置
	ConfigProduct    = 1303 // 充值配置
	ConfigVip        = 1304 // vip配置
	ConfigElectronic = 1305 // 电子赛礼包
	ConfigUnionLevel = 1306 // 俱乐部等级
	ConfigAd         = 1307
	// 商店相关
	ShopGoodsList      = 1401 // 商店列表
	ShopGoodsBuy       = 1402 // 商店购买
	ConversionItem     = 1403 // 道具转换（兑换）
	GetConvertItemList = 1404 // 被碎片合成道具信息列表
	GoldShopBuy        = 1405 // 金币商店
	// 活动相关
	ActivityInfo       = 1501 // 活动详情
	ActivityReward     = 1502 // 活动奖励领取
	ActivityList       = 1503 // 活动列表
	ActivityTaskChange = 1504 // 活动任务更换
	// 好友模块
	FriendSearch = 1601 // 查询好友
	FriendList   = 1602 // 好友列表
	FriendOption = 1603 // 好友操作
	StateInvite  = 1604 // 邀请好友的数据统计
	// 玩家模块
	BagList         = 1701 // 玩家背包数据
	AddressOption   = 1702 // 添加地址
	ExchangeRequest = 1707 // 兑换请求
	ExchangeCancel  = 1708 // 兑换取消
	BindInfo        = 1710 // 绑定信息 （微信, 手机号）
	BagLog          = 1711 // 背包日志
	//物品相关
	SplitItem        = 1801 //玩家拆分物品
	GetItemGroupConf = 1802 //获取物品组的配置
	//任务相关
	//绑定先关
	BindMobile            = 1902
	SendMobileBindSmsCode = 1903
	// 战绩
	BattleRecords = 2101 // 战绩列表
	RecordDetails = 2102 // 战绩明细列表
	ReplayBattle  = 2103

	// 举报投诉
	Complaint = 1951 //举报其他用户
	// 建议
	Suggestion = 1952 // bug级建议

	CollectTableRecord   = 2104 // 添加\取消 收藏对局
	CollectRecords       = 2105 // 收藏列表
	CollectRecordDetails = 2106 // 收藏详情

	// 工会
	UnionSearch        = 2201 // 检索工会列表
	UnionCreate        = 2202 // 创建工会
	JoinUnion          = 2203 // 加入工会
	QuitUnion          = 2204 // 退出工会
	SearchUnionInvite  = 2205 // 工会查询可邀请的玩家列表 每次随机10个人
	JoinUnionInvite    = 2206 // 邀请用户加入工会
	CheckUnionInvite   = 2207 // 用户查看邀请入会的列表
	ClearUnionInvite   = 2208 // 用户清空自己的邀请列表
	ConfirmUnionInvite = 2209 // 同意加入工会
	SetUnionJoinLimit  = 2210 // 设置工会入会限制 （不满足限制是直接拒绝 还是加入申请列表待确认）
	SetUnionManager    = 2211 // 指定工会管理员
	DelUnionManager    = 2212 // 移除工会管理员
	KickUnionMember    = 2213 // 踢出工会成员
	PassUnionJoin      = 2214 // 通过入会请求
	DenyUnionJoin      = 2215 // 拒绝入会请求
	FetchUnionMembers  = 2216 // 获取工会当前用户数据
	UnionShow          = 2217 // 查看工会
	SelectMemberLogs   = 2218 // 查看成员关键行为日志
	WaitAuditUserList  = 2219 // 待审核成员列表
	UnionUpdate        = 2220 // 修改工会
	UnionRank          = 2221 // 俱乐部排行榜
	UnionNews          = 2222 // 俱乐部咨询
	ShowUnionOptions   = 2223 // 俱乐部设置
	SetUnionOptions    = 2224 // 俱乐部设置
	OptsUnionNews      = 2225 // 查看资讯

	// 战队
	TeamSearch        = 2301 // 查找战队
	TeamCreate        = 2302 // 创建战队
	JoinTeam          = 2303 // 加入战队
	QuitTeam          = 2304 // 退出战队
	SearchTeamInvite  = 2305 // 战队查询可邀请的玩家列表 每次随机10个人
	InviteJoinTeam    = 2306 // 邀请用户加入战队
	CheckTeamInvite   = 2307 // 用户查看邀请入队的列表
	ClearTeamInvite   = 2308 // 用户清空自己的邀请列表
	ConfirmTeamInvite = 2309 // 同意加入战队
	SetTeamJoinLimit  = 2310 // 设置战队入会限制 （不满足限制是直接拒绝 还是加入申请列表待确认）
	SetTeamManager    = 2311 // 指定战队管理员
	DelTeamManager    = 2312 // 移除战队管理员
	KickTeamMember    = 2313 // 踢出战队成员
	PassTeamJoin      = 2314 // 通过战队请求
	DenyTeamJoin      = 2315 // 拒绝战队请求
	FetchTeamMembers  = 2316 // 获取战队当前用户数据
	TeamShow          = 2317 // 查看战队
	DismissTeam       = 2318 // 解散战队

	// 直播
	LiveList       = 2401 // 直播列表
	LiveDetail     = 2402 // 直播详情
	LiveJoin       = 2403 // 直播加入
	LiveKick       = 2404 // 直播踢出
	LiveMatchStart = 2405 // 直播比赛开始操作
	LiveMatchStop  = 2406 // 直播比赛结束操作
	LiveEnterWatch = 2407 // 直播加入观看
	LiveLeaveWatch = 2408 // 直播离开观看
	LiveChangeCode = 2409 // 修改参赛码
	LiveChangeConf = 2410 // 修改配置
	LiveMatchList  = 2411 // 用户端
	LiveConfig     = 2412 // 直播配置
	LiveCheckIn    = 2413 // 签到
	LiveChangeSit  = 2414 // 请求交换座位
	LiveJoinCode   = 2415 // 攻守码
	LiveRoundHis   = 2416 // 历史结果
	LiveQuit       = 2417 // 直播退出

)

// 房间路由
const (
	QuickStart = 2001 // 快速开始
)

// 比赛服路由
const (
	MatchList      = 3001 // 用户请求比赛列表
	MatchRank      = 3002 // 比赛排名
	MatchEnter     = 3003 // 进入比赛大厅
	MatchLeave     = 3004 // 离开比赛大厅
	RoundGroup     = 3005 // 比赛组数据
	RoundRank      = 3006 // 比赛过程排行
	MatchHistory   = 3007 // 历史比赛场
	MatchConfirm   = 3008 // 比赛开始确认
	MatchConfig    = 3009 // 获取比赛配置
	MatchState     = 3010 // 获取当前比赛状态 （玩家是否在比赛中）
	MatchCheckCode = 3011 // 邀请赛邀请码校验
	MatchCheckIn   = 3012 // 线上线下签到
	MatchTeamInfo  = 3013 // 线上线下队伍信息
	MatchTeamJoin  = 3014 // 线上线下加入队伍
	MatchTeamRank  = 3015 // 线上线下比赛排名
	RoundTeamGroup = 3016 // 线上线下轮次对局
	RoundTeamRank  = 3017 // 线上线下轮次排名
	MatchShare     = 3018 // 比赛分享
	MatchAuto      = 3019 // 查询当前正在报名的自动开赛的比赛
	MatchConTick   = 3020 // 标记确认时间
	MatchRetire    = 3021 // 放弃比赛
	MatchDelayCost = 3022 // 延迟报名消耗
	MatchChampion  = 3023 // 冠军榜
	MatchRest      = 3024 // 比赛休息
)

// 金豆服
const (
	BeanRoomList    = 4001 // 金币服房间列表
	BeanQuick       = 4002 // 快速开始
	TrainQuick      = 4003 // 练习赛开始
	BeanWaitRefresh = 4005 //等待玩家的开始人数

	GoldRoomList     = 4101 // 金币服房间列表
	GoldQuick        = 4102 // 快速开始
	GoldWaitRefresh  = 4103 //等待玩家的开始人数
	ConfigGoldDouble = 4104 //获取加倍相关配置
	ConfigGoldShop   = 4105 // 获取金币商店数据
	GoldRoomUser     = 4106 // 金币房人数
	ConfigVipLevel   = 4107 // 获取金币商店数据
)

// 通知类型
const (
	SeatStateChange = 9001 // 状态变更
	TakeSeat        = 9002 // 入座通知
	TableDissolve   = 9003 // 解散桌子
	MatchRetireRes  = 9004 // 放弃结果通知

	TableInfo               = 8000 // 获取桌子信息
	TableBeginCountDown     = 8001 // 开始比赛倒计时
	TableBeginCountDownStop = 8002 // 结束开始比赛倒计时
	TableGameStart          = 8003 // 游戏开始 随机要打的牌 发的牌 每个人的牌的数量

	TableBeginOutCard  = 8004 // 开始出牌通知
	TableOutCard       = 8005 // 出牌通知
	TableResult        = 8006 // 游戏结果通知
	TableLeave         = 8007 // 桌子销毁通知
	ClearUserTableCard = 8008 // 清空玩家桌子上的牌
	TableTuoGuan       = 8009 //托管
	TableTuoGuanCancel = 8010
	TableChat          = 8011 //聊天
	TableEnter         = 8012 //进入房间的通知
	TableEnterFail     = 8013

	TableGameCoinChange = 8014 //通知玩家金币变动

	TableJieFeng            = 8015
	TableFriendCards        = 8016
	TableGameResult         = 8017
	TableBei                = 8018 //游戏倍数变化通知
	TablePayCardBegin       = 8019
	TablePayCardReturnBegin = 8020
	TablePayCard            = 8021 //通知贡牌
	TablePayCardReturn      = 8022 //回贡
	TableChangeSeat         = 8023 //更改座位

	TableRoomCreate          = 8024 //创建房间
	TableRoomSwapSeat        = 8025 //交换座位
	TableRoomDismiss         = 8026 //解散房间
	TableRoomDismissAgree    = 8027 //同意或者否定解散房间
	Ready                    = 8028 //准备
	LeaveTable               = 8029 //离开房间
	TableRoomEnter           = 8030 //进入房间
	TableRoomKick            = 8031 //踢人
	TableRoomAutoKick        = 8032 //房间自动踢人
	TableRoomExtendPlay      = 8033 //延长对局
	TableRoomExtendPlayAgree = 8034 //是否同意延长对局
	TableRoomSwapSeatAgree   = 8035 //是否同意交易座位

	TableUserOp           = 8036 // 用户操作上传
	TableUserShuffleCards = 8037 //用户上传理牌
	TableChangeCardBegin  = 8038 //换牌
	TableChangeCard       = 8039
	TableChangeCardRes    = 8040
	TableChangeCardReturn = 8041

	PlayerCurrency  = 10001 // 货币变化
	MatchRoundOver  = 10002 // 本桌轮比赛结果
	GameBonusReward = 10003 // 比赛奖励通知
	MatchPlayers    = 10004 // 比赛人数变化通知

	MatchBegin          = 10005 // 比赛开始通知
	PlayerItemChange    = 10006 // 用户道具变化
	PlayerDataChange    = 10007 // 用户数据变化
	MatchWaiting        = 10008 // 比赛等待通知
	MatchDieOut         = 10009 // 比赛淘汰通知
	MatchDismiss        = 10010 // 比赛解散
	MatchRoundFinish    = 10011 // 本轮比赛结束
	MatchRoundTable     = 10012 // 推送比赛桌信息
	MatchRoundRank      = 10013 // 推送比赛过程排行
	MatchRoundGroup     = 10014 // 推送比赛总榜
	MatchTableEnter     = 10015
	MatchOverRank       = 10016 // 比赛排行总榜
	MatchPlayersNum     = 10017 // 通知人数变化 优化版
	MatchBeginToward    = 10018 // 比赛即将开始通知
	MatchTeamChange     = 10019 // 队伍变化
	PlayerDiamondChange = 10020 // 钻石变化
	PlayerVipExpChange  = 10021 // 经验值变化  增量

	PlayerRedPoint = 11001 // 小红点
	PlayerOffline  = 11002 // 下线通知

	// 训练场
	BeanMatchFail  = 12003 // 匹配失败
	BeanMatchCheck = 12004 // 训练场匹配检测

	SendUserLog    = 12005 // 发送用户日志
	GoldMatchFail  = 12006 // 匹配失败
	GoldMatchCheck = 12007 // 金币场匹配检测
	//任务
	GetTaskConf   = 13001 //获取服务器的任务配置
	GetUserTask   = 13002 //获取用户的当前任务
	GetTaskReward = 13003 //获取用户的任务奖励

	// 工会
	UnionChange = 14001 // 俱乐部变化通知

	//live
	LiveRoundGroup     = 15001
	LiveDismiss        = 15002
	LiveBegin          = 15003
	LiveFinish         = 15004 // 直播结束
	LiveRoundOver      = 15005 //
	LiveTablePlayer    = 15006 // 牌桌人数变化
	LivePlayersPre     = 15007 // 准备状态变化
	LiveTableSitChange = 15008 // 座位变化
)

// 内部协议  I开头 避免编译如proto.ts

const (
	IBeanJoin       = 80001 // 加入金币比赛
	IBeanQuit       = 80002 // 离开金币比赛
	IBeanTableStart = 80003 // 通知table开启一场训练赛
	//IBeanTableEnd   = 80004 // 通知金币服table比赛结束
	IBeanCheckMatch = 80004 // 检查玩家是否在匹配

	//IDrillJoin = 80005 // 加入训练赛
	//IDrillQuit = 80006 // 退出训练赛
	//IDrillNeedNum = 80006 // 通知服务器某个桌子需要多少人
	//IDrillJoin    = 80005 //加入训练赛
	//IDrillNeedNum   = 80007 //通知服务器某个桌子需要多少人
	IGoldTableStart = 80009 // 通知table开启一场金币比赛
	IGoldCheckMatch = 80010 // 检查玩家是否在匹配
	IGoldJoin       = 80011 // 加入金币比赛
	IGoldQuit       = 80012 // 离开金币比赛

	ILive               = 80013
	IWatchConnectOrDiss = 80014 //重连或者连丢失链接

	//ILiveJoin       = 80014 // 加入直播赛
	//ILiveKick       = 80015 //踢人
	//ILiveStartGame  = 80016 //开始游戏
	//ILiveStopGame   = 80017 //停止游戏
	//ILiveCreatTable = 80018 //创建live 房间
	//ILiveChangeConf = 80019 //修改配置
	//IWatchGame      = 80020 //观看比赛

	IMatchCreateTable = 90001 // 比赛服请求桌子
	IMatchOption      = 90002 // 比赛设置
	IMatchTableOption = 90003 // 比赛牌桌操作
	IMatchJoin        = 90004 // 加入比赛
	IMatchQuit        = 90005 // 退出比赛
	IMatchRelive      = 90006 // 比赛复活
	IMatchCloseTable  = 90007 // 关闭游戏服桌子
	IMatchJoinRes     = 90008 // 加入比赛返回
	ITableReConnect   = 90009 // 重连比赛
	IMatchDismiss     = 90010 // 解散比赛（强制）
	IDelayJoin        = 90011 // 延迟报名
	IDelayQuit        = 90012 // 退出报名
	ILiveCloseTable   = 90013 //
	ILiveCreateTable  = 90014 // 直播服请求桌子
	ILiveTableOption  = 90015 // 直播牌桌操作
	ILiveDismiss      = 90016 // 解散直播（强制）

	IInitUserTask       = 100001 //初始化用户的task
	ITaskTouchSmallGame = 100002 //游戏小局任务触发
	ITableRoomEnter     = 100003 //进入房间

	IConnect     = 900001
	IDissConnect = 900002
)
